In [1]:
import pandas as pd
import numpy as np
import seaborn as sns
from resource import LoOP
import plotly.express as px
In [2]:
data = np.loadtxt('data.csv', delimiter=",")
In [3]:
loop_vec = LoOP(data,k=20, approximation=3)
loop_vec.fit()
Out[3]:
[0.11957930278526746,
 0.23866345389685117,
 0.0,
 0.0,
 0.0,
 0.2279933087726173,
 0.49911113750017877,
 0.0,
 0.48106210543535227,
 0.08554867928972326,
 0.190200761502279,
 0.30823608825050053,
 0.09846715168100428,
 0.2907560569160643,
 0.0,
 0.0,
 0.9918390130005296,
 0.0,
 0.20239095576617236,
 0.0,
 0.0,
 0.13381031346216138,
 0.017651029305241175,
 0.4567445444290045,
 0.1442136291772217,
 0.0,
 0.0,
 0.0,
 0.0,
 0.013293383688681056,
 0.10077672814515111,
 0.0,
 0.23687864013507817,
 0.0,
 0.0,
 0.06802277277764648,
 0.2145092076892148,
 0.992089874359109,
 0.023572471238042306,
 0.0,
 0.0,
 0.0,
 0.28575706896700426,
 0.0,
 0.31698954625091286,
 0.017834890336376114,
 0.1264685828579489,
 0.7725862044415742,
 0.1448572879996052,
 0.008061897185574547,
 0.14884083865960568,
 0.13696254114539755,
 0.0,
 0.16687283945694242,
 0.0,
 0.0,
 0.0,
 0.8297551987753506,
 0.0,
 0.07160773894848606,
 0.8702912549156736,
 0.0,
 0.0,
 0.05605203647858622,
 0.0,
 0.0,
 0.5912796902071114,
 0.036943980808268426,
 0.0,
 0.10484561434266018,
 0.0,
 0.06430735600221513,
 0.0,
 0.3023919957317459,
 0.22181258703177625,
 0.030719389337330025,
 0.0,
 0.07164441673118144,
 0.01565785397970762,
 0.09880010192419146,
 0.08833875579249478,
 0.0,
 0.2013845233190174,
 0.287861618447334,
 0.0,
 0.18827187807254764,
 0.1235517997789274,
 0.0,
 0.25284863865882173,
 0.03002957569004317,
 0.8513311059945757,
 0.12655599275798204,
 0.0,
 0.03628901324006193,
 0.33678541042634386,
 0.24649783416680793,
 0.8991183258281418,
 0.0,
 0.0,
 0.0,
 0.9871313460669984,
 0.2965711299414239,
 0.19144704530412765,
 0.2220739578264707,
 0.0,
 0.034107365378166915,
 0.019953180845797024,
 0.0,
 0.09240819480700456,
 0.09587468689809502,
 0.09132254449907234,
 0.0,
 0.03426971649888031,
 0.0,
 0.09079388463310915,
 0.0,
 0.0,
 0.0,
 0.1462983871587603,
 0.21673093914347163,
 0.0,
 0.0,
 0.22482714767969642,
 0.0,
 0.0,
 0.0,
 0.25421890879756737,
 0.05047243632522556,
 0.021935073285308398,
 0.0,
 0.16441177373615598,
 0.024027561023972795,
 0.0,
 0.0,
 0.022146019415033108,
 0.0,
 0.1775067676164262,
 0.0,
 0.0,
 0.24331596319258536,
 0.0,
 0.0,
 0.0,
 0.0,
 0.8705965806623395,
 0.0,
 0.12302569175964981,
 0.0,
 0.39536704849313864,
 0.046774064364618353,
 0.0,
 0.0,
 0.0,
 0.12373019778647452,
 0.0,
 0.2286354256047997,
 0.12708896229219435,
 0.18017348615396425,
 0.11272491234891314,
 0.0,
 0.0,
 0.36651445567676966,
 0.0,
 0.2865456861562704,
 0.08615470400061427,
 0.32614866278188737,
 0.06653483836040902,
 0.21011934572853386,
 0.27447295859900367,
 0.11896648142592252,
 0.07009091914312288,
 0.16614837456946918,
 0.10288379825545203,
 0.2326239903528634,
 0.0452822217644174,
 0.0,
 0.0,
 0.1653933495000918,
 0.9477641192287862,
 0.0,
 0.0,
 0.0,
 0.05970481496923871,
 0.0,
 0.0,
 0.07186134986334483,
 0.0,
 0.0,
 0.0,
 0.0,
 0.13344729842385655,
 0.0,
 0.0,
 0.0,
 0.05762484727298009,
 0.009912919041266987,
 0.06884825449145632,
 0.0831252298497966,
 0.0,
 0.060216543473374635,
 0.0,
 0.15011716197125435,
 0.16909548577535766,
 0.06515145623054419,
 0.0,
 0.047204302697872166,
 0.1355819923463738,
 0.23520088473113984,
 0.0,
 0.3763957899634186,
 0.0,
 0.1785203509806487,
 0.0,
 0.09040743215774387,
 0.1011958554742025,
 0.15167291386711562,
 0.0,
 0.08794053711291518,
 0.20862171330874346,
 0.2401350055950848,
 0.1543294972269793,
 0.0886466337679115,
 0.20350738326144888,
 0.07509107183532951,
 0.07914344842441011,
 0.0407620061214382,
 0.0,
 0.16271428058088921,
 0.08969178814503656,
 0.0,
 0.0345292758878412,
 0.29146205587240875,
 0.0,
 0.2481657237257923,
 0.03201115966890629,
 0.0,
 0.0,
 0.17748464466399982,
 0.0,
 0.1564037138974028,
 0.0,
 0.09568389754302084,
 0.0,
 0.004329545165923702,
 0.0,
 0.0,
 0.026960283830672158,
 0.08924626336761794,
 0.0,
 0.9997650651840879,
 0.0,
 0.0,
 0.02090164834979877,
 0.06987811204369206,
 0.0,
 0.8183967704812417,
 0.0,
 0.15125103393629666,
 0.07145339299306658,
 0.05691022079410283,
 0.0,
 0.0,
 0.0,
 0.04385025726235069,
 0.0,
 0.0,
 0.43948384859102424,
 0.14970286988877018,
 0.18770428054056526,
 0.121083044495603,
 0.2214171764052299,
 0.3646619561275311,
 0.022812155238677335,
 0.5445272770657184,
 0.4750092557080697,
 0.0,
 0.13120141998564566,
 0.037808146371808266,
 0.135900031377667,
 0.31284309923075904,
 0.1285187216126117,
 0.0,
 0.19830964144217553,
 0.01713002297502564,
 0.32756701774577723,
 0.0,
 0.0,
 0.0,
 0.0,
 0.08051175666069434,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.34109611354393315,
 0.10444460633672532,
 0.04096045667323779,
 0.0,
 0.4410718762344788,
 0.36281163029708313,
 0.13999275599825461,
 0.25895961899610087,
 0.7938351739628219,
 0.1321452324216077,
 0.292412103023855,
 0.07990458180068226,
 0.0,
 0.25195908202964423,
 0.19467415464761798,
 0.41420511828311235,
 0.0,
 0.0,
 0.0,
 0.08668892239147163,
 0.2346000216849821,
 0.5214153418844748,
 0.3755306463671205,
 0.19940039105486657,
 0.09967964106404444,
 0.2924559464618884,
 0.0,
 0.2750919479171262,
 0.19572603519037696,
 0.0,
 0.0,
 0.0,
 0.051870940569036184,
 0.4829524913371283,
 0.3911987664180865,
 0.0,
 0.0,
 0.12461181196442205,
 0.0,
 0.0,
 0.4475477398964958,
 0.06002927299678754,
 0.0,
 0.7742817838997874,
 0.0,
 0.1937478612836933,
 0.0,
 0.0,
 0.16440162469760977,
 0.0,
 0.0,
 0.4186410022799557,
 0.9637829733581901,
 0.027601644369124108,
 0.12832070132857928,
 0.0,
 0.11549228461444191,
 0.7518608809039428,
 0.1464646850292088,
 0.5119982420726836,
 0.6678018438469177,
 0.0,
 0.13877003653417555,
 0.05474806327971236,
 0.0,
 0.920070353410206,
 0.0,
 0.2654589091291355,
 0.38362634935282364,
 0.22764299157304235,
 0.0,
 0.5339749246347119,
 0.0,
 0.09760781712621558,
 0.0,
 0.0,
 0.29203588696544003,
 0.0,
 0.3126138445747101,
 0.0,
 0.0,
 0.22780354062469735,
 0.224352556141049,
 0.020089431065980597,
 0.030236943173214247,
 0.008313995483560198,
 0.0,
 0.0068981906677011,
 0.062137431746635836,
 0.0,
 0.10261200079661711,
 0.11810645127549847,
 0.0,
 0.0,
 0.0,
 0.034353782611704006,
 0.00846462572249837,
 0.06449002688213762,
 0.09033264142397812,
 0.0,
 0.23952929246004948,
 0.0,
 0.0,
 0.1496674565458984,
 0.0,
 0.3062872659985448,
 0.0,
 0.0,
 0.0,
 0.030695143614723246,
 0.01833413433411533,
 0.1888775879616326,
 0.0,
 0.0,
 0.9861397242359914,
 0.0,
 0.06579336766871262,
 0.7296432068612551,
 0.2562745098152927,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.004470119259189868,
 0.0833207002688008,
 0.0,
 0.06542907668820867,
 0.0,
 0.05460754757116005,
 0.09761188438560243,
 0.17666442888331724,
 0.1986959283799731,
 0.0,
 0.2609666813254892,
 0.03927789627010803,
 0.0,
 0.0,
 0.05797161408060825,
 0.5699053509269583,
 0.02087840087405332,
 0.148245534583282,
 0.0,
 0.06814670085595818,
 0.10918263415543694,
 0.08990597352886846,
 0.102066734694154,
 0.13950952890310142,
 0.0,
 0.0,
 0.0,
 0.0,
 0.21180091216674884,
 0.0,
 0.0,
 0.0,
 0.0,
 0.46296672696866104,
 0.14229063418349594,
 0.0,
 0.09846638475882433,
 0.05790641665480378,
 0.1420336493583862,
 0.6847949673380191,
 0.0,
 0.02616585137893025,
 0.1448345449418063,
 0.43755034741228366,
 0.8807938661686111,
 0.0,
 0.1305658996683677,
 0.16580626751206468,
 0.11626050372423485,
 0.2969223889006348,
 0.06608678393866939,
 0.2804367756113384,
 0.033609185857164416,
 0.0,
 0.0,
 0.0,
 0.15020925127359858,
 0.0,
 0.0,
 0.10531250884933632,
 0.09493187618482928,
 0.0,
 0.7986444131181414,
 0.059863139169531385,
 0.0,
 0.0,
 0.008797959047299183,
 0.04354401302852431,
 0.025745477188023082,
 0.008276439621161369,
 0.0,
 0.6999503909843985,
 0.11272522200113001,
 0.31499370094283163,
 0.013166592719466937,
 0.0,
 0.08999649822169974,
 0.09216006680277217,
 0.03753400976952293,
 0.14236988919045904,
 0.18215557670421076,
 0.13830125749219344,
 0.2162528743913362,
 0.0,
 0.0,
 0.0,
 0.0,
 0.45077870153538224,
 0.030907703274241513,
 0.0,
 0.0,
 0.09924442838973647,
 0.1886488916219879,
 0.33748020149792635,
 0.0,
 0.14242088062454974,
 0.0,
 0.0,
 0.06748769587987573,
 0.08195202436224483,
 0.05755216672597903,
 0.0,
 0.15458116296801397,
 0.0,
 0.0,
 0.0,
 0.146552752855131,
 0.0,
 0.10841144725633865,
 0.054989103582518344,
 0.12277252729475302,
 0.0,
 0.22494433301910802,
 0.09780375940336314,
 0.007094004267795045,
 0.06092204601837486,
 0.0,
 0.0835111044930766,
 0.0,
 0.30167240088777275,
 0.07803213736680503,
 0.0,
 0.0,
 0.056384971574659694,
 0.10995646034613922,
 0.0,
 0.0,
 0.5352949714310822,
 0.0,
 0.2828866313953865,
 0.036547223825757764,
 0.05141426495223509,
 0.0,
 0.0,
 0.04878060035898317,
 0.0,
 0.03246655120243401,
 0.0,
 0.0,
 0.15090754487019614,
 0.16330797806208427,
 0.20822293461877286,
 0.1015854560118816,
 0.04241513976867873,
 0.0,
 0.0015923672054128798,
 0.16441152503399742,
 0.4761531439789219,
 0.0,
 0.19839418484285945,
 0.0,
 0.0008934598512313704,
 0.0,
 0.36766089638013133,
 0.08221292393289568,
 0.17335077665158574,
 0.0,
 0.0,
 0.0,
 0.22043636529440705,
 0.0,
 0.0,
 0.07963581911668985,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.19350761318176013,
 0.5145575379527487,
 0.5151536206979473,
 0.0380825033549784,
 0.18686984112155894,
 0.917135388895211,
 0.804975991456939,
 0.07799061606397908,
 0.0,
 0.08919669213868434,
 0.0,
 0.07500829476067858,
 0.0,
 0.39080762155036436,
 0.12948151360295232,
 0.021837761735147076,
 0.0,
 0.124030015724908,
 0.0,
 0.0,
 0.36722618665127893,
 0.17569974456872195,
 0.0,
 0.0,
 0.20405491170178833,
 0.19142949949674684,
 0.0,
 0.2545163234636646,
 0.0,
 0.07848361850718566,
 0.2660834824386015,
 0.05728012075367053,
 0.45414471029671893,
 0.0,
 0.0,
 0.4336041670683636,
 0.0,
 0.4092299550698324,
 0.18169786963875442,
 0.44735626167167286,
 0.0,
 0.0,
 0.19563806136311013,
 0.0,
 0.0,
 0.0,
 0.09708009151156419,
 0.6116869078149835,
 0.16873493125053737,
 0.1853618778982171,
 0.0,
 0.26125070619601476,
 0.0,
 0.05272926402521782,
 0.13924471286666698,
 0.6914844113268832,
 0.3150554382130039,
 0.0,
 0.1300716394785339,
 0.0,
 0.009645753527631942,
 0.23257740896784584,
 0.0,
 0.0,
 0.0,
 0.09167497100935458,
 0.1229669113947037,
 0.29256263829756884,
 0.0,
 0.41830210429663617,
 0.0,
 0.11419250183277453,
 0.0,
 0.06608834980528559,
 0.10095492448868648,
 0.0,
 0.0,
 0.06911712272565468,
 0.0,
 0.16606693225493074,
 0.0,
 0.271027540809583,
 0.02097603786744037,
 0.31581951866524477,
 0.0,
 0.0,
 0.1138820380973036,
 0.02165219449639248,
 0.31612789140481473,
 0.06690078005809239,
 0.8497976050358316,
 0.11395805372139285,
 0.0,
 0.15314725076168853,
 0.05631167407833876,
 0.32287024744215687,
 0.9041581425801327,
 0.1439113162643638,
 0.040181835649129395,
 0.12377705660242722,
 0.0,
 0.0,
 0.0,
 0.11618529126420611,
 0.006407634752654301,
 0.02355541272185062,
 0.5261644919299427,
 0.06242861473662224,
 0.0,
 0.0,
 0.18238391098858106,
 0.0877168523043606,
 0.10519096136198246,
 0.0,
 0.0,
 0.27342298337038784,
 0.10282811139491127,
 0.06495914895611966,
 0.0,
 0.0,
 0.29683202674200443,
 0.6198635006933039,
 0.308062250145664,
 0.03322012786803263,
 0.9069183784570399,
 0.2547195543496267,
 0.0,
 0.0,
 0.06677583096507014,
 0.05731549852060726,
 0.2564280189058356,
 0.19751424189313319,
 0.0,
 0.0,
 0.09637986489389178,
 0.0,
 0.03459233440784444,
 0.09330698705842799,
 0.0,
 0.0,
 0.0,
 0.0,
 0.12395893459305295,
 0.07927763976446309,
 0.3037896250480493,
 0.0,
 0.008078874978046467,
 0.0,
 0.0,
 0.05560170714786674,
 0.0,
 0.0,
 0.0,
 0.141017067931861,
 0.0,
 0.0,
 0.0,
 0.05434637034030466,
 0.2265907655709067,
 0.3351891498076306,
 0.0,
 0.2728870518452729,
 0.0,
 0.0,
 0.35678595469153274,
 0.09322079477848347,
 0.014249461668661104,
 0.0,
 0.0617111713040575,
 0.09979317538336875,
 0.24759569248496774,
 0.036441101025120465,
 0.026681465778763604,
 0.2697322577497111,
 0.36591320763990776,
 0.19659024152543508,
 0.0389216388845592,
 0.21931718501824946,
 0.0,
 0.0,
 0.0,
 0.0,
 0.39748852908850457,
 0.0,
 0.0,
 0.0,
 0.19314888619628814,
 0.0,
 0.08167831592443715,
 0.0,
 0.7028250907329475,
 0.10629423342095509,
 0.26016400244949867,
 0.0,
 0.26115437262886043,
 0.0,
 0.16186411501014147,
 0.0,
 0.719558087113092,
 0.03982661160505062,
 0.0,
 0.0,
 0.017830754246408332,
 0.0,
 0.0,
 0.06249583871385277,
 0.30141731146532463,
 0.28507305641865316,
 0.0,
 0.0,
 0.0,
 0.2281790214145216,
 0.20692640758453187,
 0.29807011849738735,
 0.01705261152637993,
 0.0,
 0.14643860678613263,
 0.7470379635803939,
 0.0,
 0.7159479817478954,
 0.0,
 0.9854971888392582,
 0.0,
 0.29624645279257117,
 0.0,
 0.0,
 0.0,
 0.0,
 0.01582292309815446,
 0.2336374859104535,
 0.0,
 0.0,
 0.014401609258411696,
 0.08029998190742296,
 0.0,
 0.021930267797129924,
 0.0,
 0.17678611373681008,
 0.08557665434572206,
 0.25936236537561674,
 0.0,
 0.0,
 0.0,
 0.21019943542056466,
 0.38237437889538106,
 0.0,
 0.5600717599920272,
 0.0,
 0.3952636620484766,
 0.040806302578389096,
 0.0,
 0.0,
 0.2019172602122839,
 0.0,
 0.0,
 0.0,
 0.5315054096563746,
 0.08281589467858484,
 0.16058843779266724,
 0.0,
 0.0,
 0.08401110675093801,
 0.07386091179659893,
 0.1451165711404677,
 0.4332746179353217,
 0.02493063080513511,
 0.14763019850791495,
 0.08890356015668827,
 0.0,
 0.06160881430191741,
 0.07675367062635896,
 0.03519904214046138,
 0.0,
 0.07736473174904455,
 0.0,
 0.14998415772621676,
 0.0,
 0.16025769948108293,
 0.0,
 0.0,
 0.0,
 0.0,
 0.21632039530541142,
 0.1994769210901557,
 0.0,
 0.0,
 0.10414554430629736,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.0,
 0.18295863295044437,
 0.0,
 0.0,
 0.02961494735780427,
 0.020183729910215414,
 0.03064820522361352,
 0.0,
 0.0,
 0.11957886613616867,
 0.07527266316131494,
 0.06078383235465048,
 0.10722404264844679,
 0.0,
 0.25246930757245506,
 0.08098563145034482,
 0.2620495887028466,
 0.11375392419051523,
 0.0,
 0.018692161398067654,
 0.0,
 0.0,
 0.10425444837172204,
 0.0,
 0.0,
 0.023338588513291212,
 0.0,
 0.05900948035444253,
 0.0,
 0.0,
 0.0,
 0.0,
 0.24060568124874546,
 0.9041997759353242,
 0.14168136855241442,
 0.0,
 0.145551866125282,
 0.04656449355075162,
 0.0,
 0.1805390502130122,
 0.0,
 0.0,
 0.0,
 0.21324843688279954,
 0.0,
 0.45196643209362375,
 0.05436346015412253,
 0.14453911791503993,
 0.03256754459992495,
 0.005610852092632011,
 0.04789973291869246,
 0.10181752821133541,
 0.0,
 0.11903509016583189,
 0.39090995254836614,
 0.0,
 0.09676236692419937,
 0.0,
 0.0,
 0.0,
 0.0,
 0.01499408495718008,
 0.0,
 0.0,
 0.12716837586054852,
 0.2358871840991025,
 0.021117203083970915,
 0.2234806705635369,
 0.0,
 0.12503270854644777,
 0.3151766751099546,
 0.0,
 0.0,
 0.0,
 0.06722602281641506,
 0.0,
 0.031197086788214142,
 0.27268469506970106,
 0.003729635295708136,
 0.054881111207317784,
 0.062452918490360734,
 0.001513040237832209,
 0.0,
 0.0,
 0.3134260362392793,
 0.1725703433868487,
 0.0,
 0.0,
 0.0,
 0.2548261520324979,
 0.0,
 0.07216679991671802,
 0.21776342975005597,
 0.04108803979279791,
 0.21612544657647334,
 0.09249694510878187,
 0.12665358072393995,
 0.0,
 0.9219835898566433,
 0.0,
 0.0,
 0.0,
 0.1489857794610446,
 0.0,
 0.025642864744282276,
 0.12967885004031532,
 0.06059472891728181,
 0.02028703522517406,
 0.0,
 0.2895938153096191,
 0.3555574807281316,
 0.16223697039884777,
 0.1917955421549434,
 0.14169677244282736,
 0.1594872508476935,
 ...]
In [4]:
def scater_plot_outlier_2D(data, LoOP):
    df = pd.DataFrame(np.column_stack((data, np.array(LoOP)))).astype(float)
    fig = px.scatter(df, x=0, y=1, color=2)
    fig.show()
In [5]:
scater_plot_outlier_2D(data, loop_vec.LoOP)

Comparing the results to an existing package

In [6]:
from PyNomaly import loop
m = loop.LocalOutlierProbability(data, extent=3, n_neighbors=20, progress_bar=True).fit()
scores = m.local_outlier_probabilities
[ ================================================================================ ] 100.00%
In [8]:
scater_plot_outlier_2D(data, scores)